using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using FEL.APU;
using System.Web.Services;
using System.Collections.Generic;
using FEL.BOD;

public partial class APU_APU_ESTRUCTURA : PaginaBaseFormView
{
    public Apu_Estructura Apu_Estructura_Actual
    {
        get
        {
            if (ViewState["APU_ESTRUCTURA"] == null)
                ViewState["APU_ESTRUCTURA"] = ObtenerEstructura();
            return (Apu_Estructura)ViewState["APU_ESTRUCTURA"];
        }
    }

    Apu_Estructura ObtenerEstructura()
    {
        Scope s=null;
        FEL.APU.BO_Apu_Estructura datos = new BO_Apu_Estructura();
        return datos.GetById("", (Scope)Session["Scope"], Request.QueryString["Apu_Estructura_Id"])[0];
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            string EstructuraId = Request.QueryString["Apu_Estructura_Id"];
            if (EstructuraId != null)
            {
                Fv.DefaultMode = FormViewMode.ReadOnly;
                AsignarParametrosDataSourceDeatailsView(EstructuraId);
            }
        }
        base.Page_Load(sender, e);
        Fv.DataBound += new EventHandler(Fv_DataBoundHabilitar);
        EtiquetarBotones();
    }

    protected override Type TipoObjeto
    {
        get { return typeof(global::Apu_Estructura); }
    }

    protected override FormView Fv
    {
        get { return fvApuEstructura; }
    }

    protected override ObjectDataSource OdsDv
    {
        get { return odsfvApuEstructura; }
    }

    protected override string Contenedor
    {
        get { return "APU_ESTRUCTURA"; }
    }

    void Fv_DataBoundHabilitar(object sender, EventArgs e)
    {
        if (Fv.CurrentMode == FormViewMode.Insert)        
            Btn_Apu_Estructura_Material.Enabled = false;                   
        else
            Btn_Apu_Estructura_Material.Enabled = true;
    }

    protected void Disponible_DataBound(object sender, EventArgs e)
    {
        if (Fv.CurrentMode == FormViewMode.Insert)
        {
            DropDownList ddlDisponible = (DropDownList)sender;
            ddlDisponible.SelectedValue = "S";
        }
    }

    [WebMethod]
    static public string[] GetUnidad(string prefixText, int count)
    {

        if (count == 0) count = 10;

        Scope s = (Scope)HttpContext.Current.Session["Scope"];

        FEL.BOD.BO_Bod_Unidad boUnidad = new BO_Bod_Unidad();
        List<Bod_Unidad> litUnidad = boUnidad.GetByLikeNombre("Nombre", s, prefixText + "%");

        List<string> opciones = new List<string>();
        for (int i = 0; i < litUnidad.Count && i < count; i++)
        {
            string value = litUnidad[i].Id + "||" +
                           litUnidad[i].Codigo;

            opciones.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(litUnidad[i].Nombre, value));
        }
        return opciones.ToArray();
    }


    private void EtiquetarBotones()
    {
        Btn_Apu_Estructura_Listado.Text = GetLocalResourceObject("Btn_Apu_Estructura_ListadoRecursoKCG.Text").ToString();
        Btn_Apu_Estructura_Listado.ToolTip = GetLocalResourceObject("Btn_Apu_Estructura_ListadoRecursoKCG.ToolTip").ToString();        
        Btn_Apu_Estructura_Material.Text = GetLocalResourceObject("Btn_Apu_Estructura_MaterialRecursoKCG.Text").ToString();
        Btn_Apu_Estructura_Material.ToolTip = GetLocalResourceObject("Btn_Apu_Estructura_MaterialRecursoKCG.ToolTip").ToString();        
    }

    protected override void DefinirParametrosFijosDeInsercion(System.Collections.Generic.List<DictionaryEntry> param)
    {
        if (Request.QueryString.Count > 0)
        {
            param.Add(new DictionaryEntry("Costo_Material", Apu_Estructura_Actual.Costo_Material));
            param.Add(new DictionaryEntry("Costo_Mano_Obra", Apu_Estructura_Actual.Costo_Mano_Obra));
            param.Add(new DictionaryEntry("Costo_Varios", Apu_Estructura_Actual.Costo_Varios));
            param.Add(new DictionaryEntry("Costo", Apu_Estructura_Actual.Costo));
        }
        base.DefinirParametrosFijosDeInsercion(param);
    }

    protected void Btn_Apu_Estructura_Listado_Click(object sender, EventArgs e)
    {
        Response.Redirect("~/APU/APU_ESTRUCTURA_LISTADO.aspx?");
    }

    protected void Btn_Apu_Estructura_Material_Click(object sender, EventArgs e)
    {
        TextBox EstructuraId = (TextBox)Fv.FindControl("Id");
        Response.Redirect("~/APU/APU_ESTRUCTURA_MATERIAL.aspx?Apu_Estructura_Id=" + EstructuraId.Text);
    }
}
